package cate.common.table.d;

import easy.java.dev.note.NoteClass;
import easy.java.dev.note.NoteField;

@NoteClass(value = "战斗挑战")
public class GDChallenge {

    @NoteClass(value = "挑战类型")
    public static class Type {

        @NoteField(value = "战斗胜利", detail = "")
        public static final int WIN = 100;

        @NoteField(value = "游戏回合数限制", detail = "")
        public static final int ROUND = 101;

        @NoteField(value = "使用指定阵型胜利(阵型是参数)", detail = "")
        public static final int POSITION = 102;

        @NoteField(value = "上阵指定职业的英雄（职业是参数）", detail = "")
        public static final int JOB = 103;

        @NoteField(value = "上阵指定阵营的英雄（阵营是参数）", detail = "")
        public static final int CAMP = 104;

        @NoteField(value = "上阵指定原型id的英雄(英雄原型id是参数)", detail = "必须全部都上才满足")
        public static final int HERO_PROTOID_REQUIRED = 105;

        @NoteField(value = "禁止上阵指定原型id的英雄(英雄原型id是参数)", detail = "只要上了一个就是不满足")
        public static final int HERO_PROTOID_BAN = 106;

        @NoteField(value = "阵亡英雄的数量", detail = "")
        public static final int HERO_DEATH = 200;

        @NoteField(value = "存活英雄的血量百分比", detail = "")
        public static final int HP_PERCENT = 201;

        @NoteField("至少上阵x名>=xx星的英雄")
        public static final int HERO_STAR_NUM = 202;

        @NoteField("上阵>x级的英雄数量y个")
        public static final int HERO_LEVEL_HIGHER_THAN = 203;

        @NoteField("上阵<x级的英雄数量y个")
        public static final int HERO_LEVEL_LOWER_THAN = 204;

        @NoteField(value = "总的伤害量", detail = "")
        public static final int TOTAL_DAMAGE = 210;

        @NoteField(value = "总的治疗量", detail = "")
        public static final int TOTAL_HEAL = 211;

        @NoteField(value = "总的承受伤害", detail = "")
        public static final int TOTAL_HURT = 212;

        @NoteField("特定英雄的星级")
        public static final int HERO_STAR = 301;

        @NoteField(value = "特定英雄携带x技能的数量",detail = "x技能是挑战参数")
        public static final int HERO_SKILL_NUM = 302;

        @NoteField("特定英雄承伤占比")
        public static final int HERO_HURT_PERCENT = 311;

        @NoteField("特定英雄输出占比")
        public static final int HERO_DAMAGE_PERCENT = 312;

        @NoteField("特定英雄治疗占比")
        public static final int HERO_HEAL_PERCENT = 313;

        @NoteField("特定英雄的击杀数量")
        public static final int HERO_KILL_NUM = 314;

        @NoteField("特定英雄的死亡数量")
        public static final int HERO_DEAD_NUM = 315;

        @NoteField("上阵英雄数量")
        public static final int POSITION_HERO_NUM = 321;

        @NoteField(value = "全队在x回合内的击杀数",detail = "x回合是挑战参数")
        public static final int TEAM_ROUND_KILL = 322;

        @NoteField(value = "添加特定原型的buff X次",detail = "不指定英雄就是全队")
        public static final int BUFF_ADD_NUM = 331;
        @NoteField(value = "一回合内添加特定原型的buff X次",detail = "不指定英雄就是全队")
        public static final int ADD_BUFF_NUM_ONE_ROUND = 332;
        @NoteField(value = "暴击X次",detail = "不指定英雄就是全队")
        public static final int STRIKE_NUM = 333;
        @NoteField(value = "一回合暴击X次",detail = "不指定英雄就是全队")
        public static final int STRIKE_NUM_ONE_ROUND = 334;
        @NoteField(value = "释放指定原型的技能X次")
        public static final int CAST_SKILL_NUM = 335;
        @NoteField(value = "最先击杀特定排的英雄x次",detail = "参数1：前排 参数2：后排")
        public static final int FIRST_KILL_ROW_NUM = 336;

    }

    @NoteClass(value = "检测操作")
    public static class CheckOper {
        /** 检查值=目标值 */
        public static final byte EQ = 0;
        /** 检查值<=目标值 */
        public static final byte LTE = 1;
        /** 检查值>=目标值 */
        public static final byte GTE = 2;
    }

    public static void initialize() {}
}
